home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / IM-PC11.ZIP / PCHAT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-09-20  |  39KB  |  2,029 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN007
  20.     Boolean  BOOLEAN008
  21.     Boolean  BOOLEAN009
  22.     Boolean  BOOLEAN010
  23.     Boolean  BOOLEAN011
  24.     Boolean  BOOLEAN012
  25.     Boolean  BOOLEAN013
  26.     Integer  INTEGER004
  27.     Integer  INTEGER005
  28.     Integer  INTEGER006
  29.     Integer  INTEGER007
  30.     Integer  INTEGER008
  31.     Integer  INTEGER009
  32.     Integer  INTEGER010
  33.     Integer  INTEGER011
  34.     Integer  INTEGER012
  35.     Integer  INTEGER013
  36.     Integer  INTEGER014
  37.     Integer  INTEGER015
  38.     Integer  INTEGER016
  39.     Integer  INTEGER017
  40.     Integer  INTEGER018
  41.     Integer  INTEGER019
  42.     Integer  INTEGER020
  43.     Integer  INTEGER021
  44.     Integer  INTEGER022
  45.     Integer  INTEGER023
  46.     Integer  INTEGER024
  47.     Integer  INTEGER025
  48.     Integer  INTEGER026
  49.     Integer  INTEGER027
  50.     Integer  INTEGER028
  51.     Integer  INTEGER029
  52.     Integer  INTEGER030
  53.     Integer  INTEGER031
  54.     Integer  INTEGER032
  55.     Integer  INTEGER033
  56.     Integer  INTEGER034
  57.     Integer  INTEGER035
  58.     Integer  INTEGER036
  59.     Integer  INTEGER037
  60.     Integer  INTEGER038
  61.     Integer  INTEGER039
  62.     Integer  INTEGER040
  63.     Integer  INTEGER041
  64.     Integer  INTEGER042
  65.     Integer  INTEGER043
  66.     Integer  INTEGER044
  67.     Integer  INTEGER045
  68.     Integer  INTEGER046
  69.     Integer  INTEGER047
  70.     String   STRING008
  71.     String   STRING009
  72.     String   STRING010
  73.     String   STRING011
  74.     String   STRING012
  75.     String   STRING013
  76.     String   TSTRING014(200)
  77.     String   TSTRING015(200)
  78.     String   TSTRING016(23)
  79.     String   STRING017
  80.     String   STRING018
  81.     String   STRING019
  82.     String   STRING020
  83.     String   STRING021
  84.     String   STRING022
  85.     String   STRING023
  86.     String   STRING024
  87.     String   STRING025
  88.     String   STRING026
  89.     String   STRING027
  90.     String   STRING028
  91.     String   STRING029
  92.     String   STRING030
  93.     String   STRING031
  94.     String   STRING032
  95.     String   STRING033
  96.     String   STRING034
  97.     String   STRING035
  98.     String   STRING036
  99.     String   STRING037
  100.     String   STRING038
  101.     String   STRING039
  102.     String   STRING040
  103.     String   STRING041
  104.     String   STRING042
  105.     String   TSTRING043(19)
  106.     String   TSTRING044(19)
  107.     String   TSTRING045(19)
  108.     String   TSTRING046(19)
  109.     String   STRING047
  110.     String   STRING048
  111.     String   STRING049
  112.     String   STRING050
  113.     String   STRING051
  114.     String   STRING052
  115.     String   STRING053
  116.     String   STRING054
  117.     String   STRING055
  118.     String   STRING056
  119.     String   STRING057
  120.     String   STRING058
  121.     String   STRING059
  122.     String   STRING060
  123.     String   STRING061
  124.     String   STRING062
  125.     String   STRING063
  126.     String   TSTRING064(16)
  127.     String   TSTRING065(16)
  128.     String   STRING066
  129.     String   STRING067
  130.     String   STRING068
  131.     String   STRING069
  132.     Word     WORD001
  133.     BigStr   BIGSTR001
  134.     BigStr   BIGSTR002
  135.     BigStr   BIGSTR003
  136.     BigStr   BIGSTR004
  137.     BigStr   BIGSTR005
  138.  
  139. ;------------------------------------------------------------------------------
  140.  
  141.     STRING009 = " Anti Decompilation System  "
  142.     STRING010 = " Method: IronMan "
  143.     STRING011 = " Coding: Jugler  "
  144.     STRING008 = "                                                                                                           " + Chr(181) + "                                            " + Chr(181) + "                                           " + Chr(181) + "                                   @X0F" + Chr(181) + "@X08  " + Chr(68) + Chr(101) + "@X07" + Chr(97) + Chr(116) + Chr(104) + "@X0F" + Chr(39) + Chr(115) + Chr(32) + Chr(65) + Chr(78) + "                         " + Chr(84) + Chr(105) + Chr(45) + "                 " + Chr(68) + Chr(69) + Chr(67) + Chr(79) + Chr(77) + Chr(80) + Chr(105) + "                       " + Chr(76) + Chr(69) + Chr(32) + Chr(83) + Chr(121) + Chr(115) + Chr(116) + Chr(101) + Chr(109) + Chr(32) + Chr(105) + Chr(110) + Chr(32) + Chr(69) + "@X07" + Chr(102) + Chr(102) + Chr(101) + "@X08" + Chr(99) + Chr(116) + Chr(33) + "@X0F " + Chr(198) + "@X07 " + Chr(32) + "                                              " + Chr(33) + "                              " + Chr(99) + "                    "
  145.     If (GrafMode() == "N") Then
  146.         Goto LABEL084
  147.     Endif
  148.     STRING036 = ReadLine(PCBDat(), 28)
  149.     STRING035 = ReadLine(PCBDat(), 29)
  150.     STRING047 = Left(ReadLine(PPEPath() + "pchat.cfg", 1), 4)
  151.     STRING048 = Left(ReadLine(PPEPath() + "pchat.cfg", 2), 4)
  152.     STRING049 = Left(ReadLine(PPEPath() + "pchat.cfg", 3), 4)
  153.     STRING050 = Left(ReadLine(PPEPath() + "pchat.cfg", 4), 4)
  154.     STRING051 = ReadLine(PPEPath() + "pchat.cfg", 5)
  155.     STRING052 = ReadLine(PPEPath() + "pchat.cfg", 6)
  156.     STRING053 = ReadLine(PPEPath() + "pchat.cfg", 7)
  157.     STRING054 = ReadLine(PPEPath() + "pchat.cfg", 8)
  158.     STRING055 = ReadLine(PPEPath() + "pchat.cfg", 9)
  159.     STRING056 = ReadLine(PPEPath() + "pchat.cfg", 10)
  160.     STRING057 = ReadLine(PPEPath() + "pchat.cfg", 11)
  161.     STRING058 = ReadLine(PPEPath() + "pchat.cfg", 12)
  162.     STRING059 = ReadLine(PPEPath() + "pchat.cfg", 13)
  163.     STRING060 = ReadLine(PPEPath() + "pchat.cfg", 14)
  164.     STRING061 = ReadLine(PPEPath() + "pchat.cfg", 15)
  165.     FClose -1
  166.     STRING022 = STRING051
  167.     STRING018 = STRING047
  168.     STRING017 = STRING048
  169.     INTEGER018 = 0
  170.     INTEGER017 = 0
  171.     INTEGER028 = 1
  172.     INTEGER019 = 1
  173.     BOOLEAN010 = 0
  174.     BOOLEAN011 = 0
  175.     BOOLEAN009 = 0
  176.     BOOLEAN008 = 0
  177.     BOOLEAN007 = 0
  178.     BOOLEAN013 = 0
  179.     BOOLEAN012 = 0
  180.     INTEGER007 = 1
  181.     INTEGER036 = 3
  182.     INTEGER035 = 3
  183.     INTEGER034 = 1
  184.     INTEGER033 = 0
  185.     INTEGER020 = 4
  186.     INTEGER023 = 2
  187.     INTEGER022 = 2
  188.     INTEGER021 = 14
  189.     INTEGER015 = MinLeft()
  190.     STRING069 = "  @X01P@X09e@X03r@X0Bf@X0Fect Cha@X0Bt@X03t@X09e@X01r @X0Bv@X091@X0F.@X091 @X07By @X0FIro@X0CnM@X04an@X07"
  191.     INTEGER009 = Len(STRING069)
  192.     STRING066 = "                                                                             "
  193.     For INTEGER010 = 1 To INTEGER009
  194.         INTEGER011 = INTEGER011 + Asc(Mid(STRING069, INTEGER010, 1))
  195.     Next
  196.     INTEGER011 = INTEGER011 - 426
  197.     If (INTEGER011 <> 7000) Then
  198.         Cls
  199.         AnsiPos 15, 11
  200.         Print "@X0CSecurity Violation@X0F !!! @X07-  @X04PPE HACK ATTEMPT!@X07"
  201.         Delay 30
  202.         End
  203.     Endif
  204.     FOpen 4, PPEPath() + "MACRO.LST", 2, 0
  205.     :LABEL001
  206.     If (Ferr(4)) Goto LABEL002
  207.     FGet 4, TSTRING014(INTEGER007)
  208.     FGet 4, TSTRING015(INTEGER007)
  209.     Inc INTEGER007
  210.     Goto LABEL001
  211.     :LABEL002
  212.     FClose 4
  213.     While (INTEGER018 <> STRING053) Do
  214.         Inc INTEGER018
  215.         TSTRING064(INTEGER018) = Mid(STRING054, INTEGER019, 4)
  216.         INTEGER019 = INTEGER019 + 5
  217.     EndWhile
  218.     INTEGER019 = 1
  219.     While (INTEGER017 <> STRING055) Do
  220.         Inc INTEGER017
  221.         TSTRING065(INTEGER017) = Mid(STRING056, INTEGER019, 4)
  222.         INTEGER019 = INTEGER019 + 5
  223.     EndWhile
  224.     INTEGER012 = GetX()
  225.     INTEGER013 = GetY()
  226.     For INTEGER014 = 1 To 23
  227.         TSTRING016(INTEGER014) = ScrText(1, INTEGER014, 79, 1)
  228.     Next
  229.     StartDisp 1
  230.     Cls
  231.     Print STRING069 + "@X08/@X0AD@X02o@X0AD  @X08[@X0FCTRL-W@X08] @X07Clr Window @X08[@X0FESC@X08] @X07Quit Chat"
  232.     AnsiPos 1, 2
  233.     Print "@X0F┌──@X07───@X08─@X07─@X08───────────────────────────────────────────────────────────────@X07─@X08─@X07───@X0F──┐@X07"
  234.     AnsiPos 1, 3
  235.     Print "@X07└──@X08─@X07─@X08───────────────────────────────────────────────────────────────────────@X07──┘"
  236.     AnsiPos 1, 13
  237.     Print "@X0F──@X07──@X08──[@X07REMARK:      COLOR:    @X08]───────────────────────────────────────────@X07──@X0F──"
  238.     AnsiPos 8, 3
  239.     If (Len(STRING022) < 17) Then
  240.         Print "@X08[@X0F ", STRING049 + STRING022
  241.     Else
  242.         Print "@X08[@X0F ", STRING049 + Left(STRING022, 17)
  243.     Endif
  244.     Print "@X08 ]"
  245.     AnsiPos 54, 13
  246.     STRING027 = U_Name()
  247.     If (STRING027 == "") Then
  248.         STRING027 = "User"
  249.         STRING028 = "User"
  250.     Else
  251.         STRING027 = Mixed(U_Name())
  252.         STRING028 = STRING027
  253.     Endif
  254.     If (Len(STRING027) < 17) Then
  255.         Print "@X08[@X0F ", STRING050 + STRING027
  256.     Else
  257.         Print "@X08[@X0F ", STRING050 + Left(STRING027, 17)
  258.     Endif
  259.     Print "@X08 ]"
  260.     AnsiPos 1, 22
  261.     Print "@X0F┌─@X07─@X0F─@X07───@X08─@X07─@X08────────────────────────────────────────────────────[@X07CTRL-Z@X08] @X07Help@X08───@X07─┐"
  262.     AnsiPos 1, 23
  263.     Print "@X07└──@X08─@X07─@X08───────────────────────────────────────────────────────────────────@X07─@X08─@X07──@X0F──┘"
  264.     SPrint "6H"
  265.     SPrint "[CAPTURE: OFF  REMARK: OFF  COLOR: OFF]"
  266.     Print "7H"
  267.     Print "[REMARK: OFF  COLOR: OFF]"
  268.     Print "@X07"
  269.     AnsiPos INTEGER023, INTEGER020
  270.     :LABEL003
  271.     INTEGER016 = MinLeft()
  272.     AdjTime INTEGER015 - INTEGER016
  273.     If ((BOOLEAN013 == 1) && (BOOLEAN009 == 0)) Then
  274.         STRING018 = TSTRING064(INTEGER018)
  275.     Endif
  276.     If ((INTEGER020 > 12) && (INTEGER023 < 78)) Then
  277.         For INTEGER024 = 4 To 10
  278.             AnsiPos 2, INTEGER024
  279.             ClrEol
  280.         Next
  281.         Gosub LABEL081
  282.         INTEGER023 = 2
  283.         For INTEGER024 = 11 To 12
  284.             AnsiPos 2, INTEGER024
  285.             ClrEol
  286.         Next
  287.         AnsiPos INTEGER023, INTEGER020
  288.         Goto LABEL003
  289.     ElseIf ((INTEGER023 == 78) && (INTEGER020 == 12)) Then
  290.         For INTEGER024 = 4 To 10
  291.             AnsiPos 2, INTEGER024
  292.             ClrEol
  293.         Next
  294.         Gosub LABEL081
  295.         For INTEGER024 = 11 To 12
  296.             AnsiPos 2, INTEGER024
  297.             ClrEol
  298.         Next
  299.         AnsiPos INTEGER023 - Len(BIGSTR003) / 5, INTEGER020 - 1
  300.         Print Space(Len(BIGSTR003) / 5)
  301.         INTEGER023 = 2
  302.         AnsiPos INTEGER023, INTEGER020
  303.         Print BIGSTR003
  304.         INTEGER023 = Len(BIGSTR003) / 5 + 2
  305.         If (BOOLEAN011 == 1) Then
  306.             FPutLn 1, "[" + STRING022 + "]: ", STRING062
  307.             STRING062 = BIGSTR003
  308.         Endif
  309.         Goto LABEL003
  310.     Endif
  311.     STRING020 = KInkey()
  312.     If (STRING020 == "") Goto LABEL067
  313.     If (Len(STRING020) > 1) Goto LABEL003
  314.     AnsiPos INTEGER023, INTEGER020
  315.     If ((STRING020 == Chr(8)) && (INTEGER023 > 2)) Then
  316.         STRING062 = Left(STRING062, Len(STRING062) - 1)
  317.         BIGSTR003 = Left(BIGSTR003, Len(BIGSTR003) - 5)
  318.         Print Chr(8) + Chr(32) + Chr(8)
  319.         Dec INTEGER023
  320.         Goto LABEL003
  321.     Else
  322.         If (STRING020 == Chr(8)) Goto LABEL003
  323.     Endif
  324.     If ((INTEGER023 == 78) && (STRING020 > Chr(27))) Then
  325.         If (Len(BIGSTR003) < 78) Then
  326.             AnsiPos INTEGER023 - Len(BIGSTR003) / 5, INTEGER020
  327.             Print Space(Len(BIGSTR003) / 5)
  328.             INTEGER023 = 2
  329.             Inc INTEGER020
  330.             AnsiPos INTEGER023, INTEGER020
  331.             Print BIGSTR003
  332.             INTEGER023 = Len(BIGSTR003) / 5 + 2
  333.             Goto LABEL004
  334.         Endif
  335.         Inc INTEGER020
  336.         INTEGER023 = 2
  337.         AnsiPos INTEGER023, INTEGER020
  338.         BIGSTR003 = ""
  339.         :LABEL004
  340.         If (BOOLEAN011 == 1) Then
  341.             FPutLn 1, "[" + STRING022 + "]: ", STRING062
  342.             STRING062 = BIGSTR003
  343.         Endif
  344.     Endif
  345.     If (STRING020 == " ") Then
  346.         Gosub LABEL005
  347.         Goto LABEL010
  348.         :LABEL005
  349.         For INTEGER008 = 1 To INTEGER007
  350.             If (Upper(TSTRING014(INTEGER008)) == Upper(StripAtx(BIGSTR003))) Then
  351.                 Backup Len(BIGSTR003) / 5
  352.                 If (INTEGER023 - Len(StripAtx(BIGSTR003)) + Len(TSTRING015(INTEGER008)) - 78 < 0) Then
  353.                     Gosub LABEL006
  354.                     STRING062 = Left(STRING062, Len(STRING062) - Len(StripAtx(BIGSTR003))) + TSTRING015(INTEGER008)
  355.                     Goto LABEL009
  356.                 Endif
  357.                 If (BOOLEAN011 == 1) Then
  358.                     STRING062 = Left(STRING062, Len(STRING062) - Len(StripAtx(BIGSTR003)))
  359.                     FPutLn 1, "[" + STRING022 + "]: ", STRING062
  360.                     STRING062 = TSTRING015(INTEGER008)
  361.                 Endif
  362.                 If (INTEGER020 < 12) Then
  363.                     Print Space(Len(BIGSTR003) / 5)
  364.                     INTEGER023 = Len(TSTRING015(INTEGER008)) + 2
  365.                     Inc INTEGER020
  366.                     AnsiPos 2, INTEGER020
  367.                     Gosub LABEL006
  368.                     Goto LABEL008
  369.                     :LABEL006
  370.                     If (BOOLEAN013 == 0) Then
  371.                         Print STRING018 + TSTRING015(INTEGER008)
  372.                         Goto LABEL007
  373.                     Endif
  374.                     STRING013 = ""
  375.                     For INTEGER005 = 1 To Len(TSTRING015(INTEGER008))
  376.                         STRING013 = STRING013 + TSTRING064(INTEGER018) + Mid(TSTRING015(INTEGER008), INTEGER005, 1)
  377.                         Inc INTEGER018
  378.                         If (INTEGER018 == S2I(STRING053, 10) + 1) INTEGER018 = 1
  379.                     Next
  380.                     Print STRING013
  381.                     :LABEL007
  382.                     Return
  383.                     :LABEL008
  384.                     Goto LABEL009
  385.                 Endif
  386.                 For INTEGER024 = 4 To 10
  387.                     AnsiPos 2, INTEGER024
  388.                     ClrEol
  389.                 Next
  390.                 Gosub LABEL081
  391.                 For INTEGER024 = 11 To 12
  392.                     AnsiPos 2, INTEGER024
  393.                     ClrEol
  394.                 Next
  395.                 AnsiPos INTEGER023 - Len(TSTRING014(INTEGER008)), INTEGER020 - 1
  396.                 Print Space(Len(TSTRING014(INTEGER008)))
  397.                 INTEGER023 = 2
  398.                 AnsiPos INTEGER023, INTEGER020
  399.                 Gosub LABEL006
  400.                 INTEGER023 = Len(TSTRING015(INTEGER008)) + 2
  401.                 If (BOOLEAN011 == 1) Then
  402.                     FPutLn 1, "[" + STRING022 + "]: ", STRING062
  403.                     STRING062 = BIGSTR003
  404.                 Endif
  405.                 :LABEL009
  406.                 INTEGER023 = INTEGER023 - Len(StripAtx(BIGSTR003)) + Len(TSTRING015(INTEGER008))
  407.                 Break
  408.             Endif
  409.         Next
  410.         Return
  411.         :LABEL010
  412.         BIGSTR003 = ""
  413.         Print STRING018 + STRING020
  414.         STRING062 = STRING062 + STRING020
  415.         Inc INTEGER023
  416.         Goto LABEL003
  417.     Endif
  418.     If (STRING020 > Chr(27)) Then
  419.         Print STRING018 + STRING020
  420.         STRING062 = STRING062 + STRING020
  421.         BIGSTR003 = BIGSTR003 + STRING018 + STRING020
  422.         Inc INTEGER023
  423.     Endif
  424.     If (BOOLEAN013 == 1) Then
  425.         If (INTEGER018 == STRING053) Then
  426.             INTEGER018 = 1
  427.             Goto LABEL011
  428.         Endif
  429.         Inc INTEGER018
  430.     Endif
  431.     :LABEL011
  432.     If (STRING020 < Chr(28)) Then
  433.         If (STRING020 == Chr(27)) Then
  434.             If (BOOLEAN011 == 1) Then
  435.                 If (STRING062 <> "") Then
  436.                     FPutLn 1, "[" + STRING022 + "]: ", STRING062
  437.                 Endif
  438.                 FPutLn 1
  439.                 FPut 1, "     φ PerfectChat Capture ended at  "
  440.                 FPut 1, Date()
  441.                 FPut 1, "  "
  442.                 FPut 1, Time()
  443.                 FPut 1, "  with "
  444.                 FPutLn 1, STRING027 + " φ"
  445.                 FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
  446.                 FPutLn 1, "                                            [Perfect Chatter v1.1 By IronMan]"
  447.                 FPutLn 1
  448.                 FClose 1
  449.             Endif
  450.             Goto LABEL084
  451.         Endif
  452.         If (STRING020 == Chr(26)) Then
  453.             INTEGER026 = GetX()
  454.             INTEGER027 = GetY()
  455.             AnsiPos 36, 3
  456.             Print "@X08───────────────────────────────────────"
  457.             AnsiPos 79, 23
  458.             SaveScrn
  459.             MPrint "23H"
  460.             MPrint "Sysop Viewing Help File├"
  461.             AnsiPos INTEGER026, INTEGER027
  462.             SPrint "0H"
  463.             SPrint "┌────────────────────────┐"
  464.             SPrint "0H"
  465.             SPrint "│   ▄ ▄ ▄▄ ▄  ▄▄▄  █▌    │"
  466.             SPrint "0H"
  467.             SPrint "│   █▄█ █▄ █▌ █▄█  █▌    │"
  468.             SPrint "0H"
  469.             SPrint "│   █ █▄ █▄ █▌   ▀     │"
  470.             SPrint "30H"
  471.             SPrint "│ ═──═─═──═──═──══ ▀ ═─  │"
  472.             SPrint "30H"
  473.             SPrint "│ [CTRL-WClear Screen  │"
  474.             SPrint "30H"
  475.             SPrint "│ [CTRL-OChange Color  │"
  476.             SPrint "30H"
  477.             SPrint "│ [CTRL-ERemark Words  │"
  478.             SPrint "30H"
  479.             SPrint "│ [CTRL-GBeep User     │"
  480.             SPrint "30H"
  481.             SPrint "│ [CTRL-CLog Chat      │"
  482.             SPrint "30H"
  483.             SPrint "│ [CTRL-LLock Keys     │"
  484.             SPrint "30H"
  485.             SPrint "│ [CTRL-TView Text     │"
  486.             SPrint "30H"
  487.             SPrint "│ [CTRL-UUser Edit     │"
  488.             SPrint "30H"
  489.             SPrint "│ [ESCQuit Chat        │"
  490.             SPrint "30H"
  491.             SPrint "└────────────────────────┘"
  492.             :LABEL012
  493.             STRING067 = KInkey()
  494.             If ((STRING067 <> Chr(13)) && (STRING067 <> " ")) Goto LABEL012
  495.             Cls
  496.             RestScrn
  497.             Gosub LABEL083
  498.             AnsiPos INTEGER023, INTEGER020
  499.             STRING020 = ""
  500.             Goto LABEL003
  501.         Endif
  502.         If (STRING020 == Chr(15)) Then
  503.             AnsiPos INTEGER023, INTEGER020
  504.             If ((BOOLEAN013 == 0) && (BOOLEAN009 == 0)) Then
  505.                 BOOLEAN013 = 1
  506.                 INTEGER026 = GetX()
  507.                 INTEGER027 = GetY()
  508.                 SPrint "1H"
  509.                 SPrint "ON "
  510.                 AnsiPos INTEGER026, INTEGER027
  511.                 Goto LABEL013
  512.             Endif
  513.             If ((BOOLEAN013 == 1) && (BOOLEAN009 == 0)) Then
  514.                 BOOLEAN013 = 0
  515.                 STRING018 = STRING047
  516.                 INTEGER026 = GetX()
  517.                 INTEGER027 = GetY()
  518.                 SPrint "1H"
  519.                 SPrint "OFF"
  520.                 AnsiPos INTEGER026, INTEGER027
  521.             Endif
  522.             :LABEL013
  523.             STRING020 = ""
  524.             Goto LABEL003
  525.         Endif
  526.         If (STRING020 == Chr(21)) Then
  527.             INTEGER026 = GetX()
  528.             INTEGER027 = GetY()
  529.             AnsiPos 36, 3
  530.             Print "@X08───────────────────────────────────────"
  531.             AnsiPos 79, 23
  532.             SaveScrn
  533.             MPrint "25H"
  534.             MPrint "┤ Wait a Sec..├"
  535.             SPrint "H"
  536.             SPrint "                          Edit User Record                 Record      of       "
  537.             SPrint "H"
  538.             SPrint " ┌───────────┬──────────────────────────┬─────────────────┬───────────────────┐ "
  539.             SPrint "H"
  540.             SPrint " │Name       │                          │Last DIR List    │                   │ "
  541.             SPrint "H"
  542.             SPrint " │City       │                          │Last Date On     │                   │ "
  543.             SPrint "H"
  544.             SPrint " │B/D Phone  │                          │Last Time On     │                   │ "
  545.             SPrint "H"
  546.             SPrint " │H/V Phone  │                          │Elpased Time On  │                   │ "
  547.             SPrint "H"
  548.             SPrint " │Password   │                          │Number Times On  │                   │ "
  549.             SPrint "H"
  550.             SPrint " │Security   │                          │Number Uploads   │                   │ "
  551.             SPrint "H"
  552.             SPrint " │Expert     │                          │Number Downloads │                   │ "
  553.             SPrint "1H"
  554.             SPrint " │Protocol   │                          │Daily Download   │                   │ "
  555.             SPrint "1H"
  556.             SPrint " │Page Len   │                          │Total Upload     │                   │ "
  557.             SPrint "1H"
  558.             SPrint " │Reg Ex Date│                          │Total Download   │                   │ "
  559.             SPrint "1H"
  560.             SPrint " │Expired Sec│                          │Messages Read    │                   │ "
  561.             SPrint "1H"
  562.             SPrint " │Msg Clear  │                          │Messages Left    │                   │ "
  563.             SPrint "1H"
  564.             SPrint " │Last in    │                          │Full Scrn Editor │                   │ "
  565.             SPrint "1H"
  566.             SPrint " │Delete User│                          │79-Column Editor │                   │ "
  567.             SPrint "1H"
  568.             SPrint " ├───────────┤                          │Scroll Long Msgs │                   │ "
  569.             SPrint "1H"
  570.             SPrint " │ Comment-1 │                          │Long Headers     │                   │ "
  571.             SPrint "1H"
  572.             SPrint " │ Comment-2 │                          │Chat Status      │                   │ "
  573.             SPrint "1H"
  574.             SPrint " └───────────┴──────────────────────────┴─────────────────┴───────────────────┘ "
  575.             SPrint "1H"
  576.             SPrint ""
  577.             SPrint "1H"
  578.             SPrint "[ESCExit [TABSwitch Window [ D─ DJump 1 [PgDn/PgUpJump 10 [SSearch User"
  579.             SPrint "1H"
  580.             SPrint ""
  581.             INTEGER037 = U_RecNum(U_Name())
  582.             INTEGER040 = INTEGER037
  583.             INTEGER038 = FileInf(ReadLine(PCBDat(), 29), 4) / 400
  584.             AnsiPos 75, 1
  585.             SPrint "", INTEGER038
  586.             AnsiPos 3, 3
  587.             For INTEGER039 = 3 To 19
  588.                 TSTRING045(INTEGER039) = ScrText(42, INTEGER039, 17, 0)
  589.             Next
  590.             For INTEGER039 = 3 To 19
  591.                 TSTRING046(INTEGER039) = ScrText(42, INTEGER039, 17, 0)
  592.             Next
  593.             For INTEGER039 = 3 To 19
  594.                 TSTRING043(INTEGER039) = ScrText(3, INTEGER039, 11, 0)
  595.             Next
  596.             For INTEGER039 = 3 To 19
  597.                 TSTRING044(INTEGER039) = ScrText(3, INTEGER039, 11, 0)
  598.             Next
  599.             :LABEL014
  600.             AnsiPos 68, 1
  601.             INTEGER031 = 3 - Len(INTEGER037)
  602.             SPrint "", INTEGER037
  603.             SPrint Space(INTEGER031)
  604.             GetAltUser INTEGER037
  605.             AnsiPos 16, 3
  606.             INTEGER030 = 25 - Len(U_Name())
  607.             SPrint "", U_Name()
  608.             SPrint Space(INTEGER030)
  609.             AnsiPos 16, 4
  610.             INTEGER030 = 25 - Len(U_City)
  611.             SPrint U_City + Space(INTEGER030)
  612.             AnsiPos 16, 5
  613.             INTEGER030 = 25 - Len(U_BDPhone)
  614.             SPrint U_BDPhone + Space(INTEGER030)
  615.             AnsiPos 16, 6
  616.             INTEGER030 = 25 - Len(U_HVPhone)
  617.             SPrint U_HVPhone + Space(INTEGER030)
  618.             AnsiPos 16, 7
  619.             INTEGER030 = 25 - Len(U_Pwd)
  620.             SPrint U_Pwd + Space(INTEGER030)
  621.             AnsiPos 16, 8
  622.             INTEGER030 = 25 - Len(U_Sec)
  623.             SPrint U_Sec
  624.             SPrint Space(INTEGER030)
  625.             AnsiPos 16, 9
  626.             INTEGER030 = 25 - Len(U_Expert)
  627.             If (U_Expert == 0) Then
  628.                 SPrint "N" + Space(INTEGER030)
  629.                 Goto LABEL015
  630.             Endif
  631.             SPrint "Y" + Space(INTEGER030)
  632.             :LABEL015
  633.             AnsiPos 16, 10
  634.             INTEGER030 = 25 - Len(U_Trans)
  635.             SPrint U_Trans + Space(INTEGER030)
  636.             AnsiPos 16, 11
  637.             INTEGER030 = 25 - Len(U_PageLen)
  638.             SPrint U_PageLen
  639.             SPrint Space(INTEGER030)
  640.             AnsiPos 16, 12
  641.             INTEGER030 = 25 - Len(U_ExpDate)
  642.             SPrint U_ExpDate
  643.             SPrint Space(INTEGER030)
  644.             AnsiPos 16, 13
  645.             INTEGER030 = 25 - Len(U_ExpSec)
  646.             SPrint U_ExpSec
  647.             SPrint Space(INTEGER030)
  648.             AnsiPos 16, 14
  649.             INTEGER030 = 25 - Len(U_Cls)
  650.             If (U_Cls == 0) Then
  651.                 SPrint "N" + Space(INTEGER030)
  652.                 Goto LABEL016
  653.             Endif
  654.             SPrint "Y" + Space(INTEGER030)
  655.             :LABEL016
  656.             AnsiPos 16, 15
  657.             FOpen 1, STRING035, 2, 0
  658.             FSeek 1, 400 * (INTEGER037 - 1) + 192, 0
  659.             FRead 1, STRING038, 1
  660.             FClose 1
  661.             SPrint Asc(STRING038)
  662.             SPrint Space(24)
  663.             AnsiPos 16, 16
  664.             FOpen 1, STRING035, 2, 0
  665.             FSeek 1, 400 * (INTEGER037 - 1) + 224, 0
  666.             FRead 1, STRING037, 1
  667.             FClose 1
  668.             SPrint STRING037
  669.             SPrint Space(24)
  670.             AnsiPos 16, 18
  671.             INTEGER030 = Len(U_Cmnt1)
  672.             SPrint Left(U_Cmnt1, INTEGER030 - 6)
  673.             SPrint Space(1)
  674.             AnsiPos 16, 19
  675.             INTEGER030 = Len(U_Cmnt2)
  676.             SPrint Left(U_Cmnt2, INTEGER030 - 6)
  677.             AnsiPos 61, 3
  678.             INTEGER030 = 17 - Len(U_LDir())
  679.             SPrint U_LDir()
  680.             SPrint Space(INTEGER030)
  681.             AnsiPos 61, 4
  682.             INTEGER030 = 17 - Len(U_LDate())
  683.             SPrint U_LDate()
  684.             SPrint Space(INTEGER030)
  685.             AnsiPos 61, 5
  686.             INTEGER030 = 17 - Len(U_LTime())
  687.             SPrint U_LTime()
  688.             SPrint Space(INTEGER030)
  689.             AnsiPos 61, 6
  690.             SPrint Space(17)
  691.             AnsiPos 61, 7
  692.             INTEGER030 = 17 - Len(U_Logons())
  693.             SPrint U_Logons()
  694.             SPrint Space(INTEGER030)
  695.             AnsiPos 61, 8
  696.             INTEGER030 = 17 - Len(U_Ful())
  697.             SPrint U_Ful()
  698.             SPrint Space(INTEGER030)
  699.             AnsiPos 61, 9
  700.             INTEGER030 = 17 - Len(U_Fdl())
  701.             SPrint U_Fdl()
  702.             SPrint Space(INTEGER030)
  703.             AnsiPos 61, 10
  704.             INTEGER030 = 17 - Len(U_BdlDay())
  705.             SPrint U_BdlDay()
  706.             SPrint Space(INTEGER030)
  707.             AnsiPos 61, 11
  708.             INTEGER030 = 17 - Len(U_Bul())
  709.             SPrint U_Bul()
  710.             SPrint Space(INTEGER030)
  711.             AnsiPos 61, 12
  712.             INTEGER030 = 17 - Len(U_Bdl())
  713.             SPrint U_Bdl()
  714.             SPrint Space(INTEGER030)
  715.             AnsiPos 61, 13
  716.             If (INTEGER037 == INTEGER040) Then
  717.                 INTEGER030 = 17 - Len(U_MsgRd())
  718.                 SPrint U_MsgRd()
  719.                 SPrint Space(INTEGER030)
  720.                 Goto LABEL017
  721.             Endif
  722.             SPrint "NOT AVAILBLE"
  723.             SPrint Space(5)
  724.             :LABEL017
  725.             AnsiPos 61, 14
  726.             If (INTEGER037 == INTEGER040) Then
  727.                 INTEGER030 = 17 - Len(U_MsgWr())
  728.                 SPrint U_MsgWr()
  729.                 SPrint Space(INTEGER030)
  730.                 Goto LABEL018
  731.             Endif
  732.             SPrint "NOT AVAILBLE"
  733.             SPrint Space(5)
  734.             :LABEL018
  735.             AnsiPos 61, 15
  736.             INTEGER030 = 17 - Len(U_FSE)
  737.             If (U_FSE == 0) Then
  738.                 SPrint "N"
  739.                 Goto LABEL019
  740.             Endif
  741.             SPrint "Y"
  742.             :LABEL019
  743.             SPrint Space(INTEGER030)
  744.             AnsiPos 61, 16
  745.             INTEGER030 = 17 - Len(U_Def79)
  746.             If (U_Def79 == 0) Then
  747.                 SPrint "N"
  748.                 Goto LABEL020
  749.             Endif
  750.             SPrint "Y"
  751.             :LABEL020
  752.             SPrint Space(INTEGER030)
  753.             AnsiPos 61, 17
  754.             INTEGER030 = 17 - Len(U_Scroll)
  755.             If (U_Scroll == 0) Then
  756.                 SPrint "N"
  757.                 Goto LABEL021
  758.             Endif
  759.             SPrint "Y"
  760.             :LABEL021
  761.             SPrint Space(INTEGER030)
  762.             AnsiPos 61, 18
  763.             INTEGER030 = 17 - Len(U_LongHDR)
  764.             If (U_LongHDR == 0) Then
  765.                 SPrint "N"
  766.                 Goto LABEL022
  767.             Endif
  768.             SPrint "Y"
  769.             :LABEL022
  770.             SPrint Space(INTEGER030)
  771.             AnsiPos 61, 19
  772.             INTEGER030 = 17 - Len(ChatStat())
  773.             If (ChatStat() == 0) Then
  774.                 SPrint "U"
  775.                 Goto LABEL023
  776.             Endif
  777.             SPrint "A"
  778.             :LABEL023
  779.             SPrint Space(INTEGER030)
  780.             :LABEL024
  781.             STRING029 = ""
  782.             STRING029 = KInkey()
  783.             If (STRING029 == "") Goto LABEL024
  784.             If (Upper(STRING029) == "S") Then
  785.                 INTEGER034 = 1
  786.                 STRING042 = ""
  787.                 SPrint "20H"
  788.                 SPrint "User Name: "
  789.                 :LABEL025
  790.                 STRING041 = KInkey()
  791.                 If (STRING041 == "") Goto LABEL025
  792.                 If ((STRING041 == Chr(13)) && (STRING042 == "")) Goto LABEL024
  793.                 If ((STRING041 == Chr(13)) && (STRING042 <> "")) Goto LABEL028
  794.                 If (STRING041 == Chr(8)) Then
  795.                     If (INTEGER034 > 1) Then
  796.                         SPrint Chr(8)
  797.                         SPrint " "
  798.                         SPrint Chr(8)
  799.                         Dec INTEGER034
  800.                         STRING042 = Left(STRING042, INTEGER034 - 1)
  801.                         Goto LABEL026
  802.                     Endif
  803.                     Sound 250
  804.                     Delay 1
  805.                     Sound 0
  806.                     Goto LABEL025
  807.                     :LABEL026
  808.                     Goto LABEL025
  809.                 Endif
  810.                 If ((INTEGER034 < 26) && (INTEGER034 >= 1)) Then
  811.                     SPrint "", STRING041
  812.                     Inc INTEGER034
  813.                     STRING042 = STRING042 + STRING041
  814.                     Goto LABEL027
  815.                 Endif
  816.                 Sound 250
  817.                 Delay 1
  818.                 Sound 0
  819.                 Goto LABEL025
  820.                 :LABEL027
  821.                 Goto LABEL025
  822.                 :LABEL028
  823.                 If (U_RecNum(Upper(STRING042)) >= 0) INTEGER037 = U_RecNum(Upper(STRING042))
  824.                 SPrint "1H"
  825.                 SPrint ""
  826.                 Goto LABEL014
  827.             Endif
  828.             If (STRING029 == "PGUP") Then
  829.                 INTEGER032 = INTEGER037 - 10
  830.                 If (INTEGER037 < 10) Then
  831.                     INTEGER037 = INTEGER038 + INTEGER032
  832.                     Goto LABEL029
  833.                 Endif
  834.                 INTEGER037 = INTEGER037 - 10
  835.                 :LABEL029
  836.                 Goto LABEL014
  837.             Endif
  838.             If (STRING029 == "PGDN") Then
  839.                 INTEGER032 = INTEGER038 - INTEGER037
  840.                 If (INTEGER032 < 10) Then
  841.                     INTEGER037 = 10 - INTEGER032
  842.                     Goto LABEL030
  843.                 Endif
  844.                 INTEGER037 = INTEGER037 + 10
  845.                 :LABEL030
  846.                 Goto LABEL014
  847.             Endif
  848.             If (STRING029 == "RIGHT") Then
  849.                 If (INTEGER037 == INTEGER038) Then
  850.                     INTEGER037 = 1
  851.                     Goto LABEL031
  852.                 Endif
  853.                 Inc INTEGER037
  854.                 :LABEL031
  855.                 Goto LABEL014
  856.             Endif
  857.             If (STRING029 == "LEFT") Then
  858.                 If (INTEGER037 == 1) Then
  859.                     INTEGER037 = INTEGER038
  860.                     Goto LABEL032
  861.                 Endif
  862.                 Dec INTEGER037
  863.                 :LABEL032
  864.                 Goto LABEL014
  865.             Endif
  866.             If (STRING029 == Chr(9)) Then
  867.                 If (BOOLEAN007 == 0) Then
  868.                     AnsiPos INTEGER035, INTEGER036
  869.                     SPrint "", TSTRING043(INTEGER036)
  870.                     INTEGER035 = 42
  871.                     BOOLEAN007 = 1
  872.                     AnsiPos INTEGER035, INTEGER036
  873.                     SPrint "", TSTRING045(INTEGER036)
  874.                     Goto LABEL033
  875.                 Endif
  876.                 AnsiPos INTEGER035, INTEGER036
  877.                 SPrint "", TSTRING045(INTEGER036)
  878.                 INTEGER035 = 3
  879.                 BOOLEAN007 = 0
  880.                 AnsiPos INTEGER035, INTEGER036
  881.                 SPrint "", TSTRING043(INTEGER036)
  882.             Endif
  883.             :LABEL033
  884.             If ((Upper(STRING029) == "DOWN") && (INTEGER036 < 19)) Then
  885.                 If ((INTEGER036 == 16) && (INTEGER035 == 3)) Then
  886.                     INTEGER036 = 18
  887.                     AnsiPos INTEGER035, INTEGER036 - 2
  888.                     SPrint "", TSTRING043(INTEGER036 - 2)
  889.                     Goto LABEL034
  890.                 Endif
  891.                 Inc INTEGER036
  892.                 AnsiPos INTEGER035, INTEGER036 - 1
  893.                 If (BOOLEAN007 == 0) Then
  894.                     SPrint "", TSTRING043(INTEGER036 - 1)
  895.                     Goto LABEL034
  896.                 Endif
  897.                 SPrint "", TSTRING045(INTEGER036 - 1)
  898.                 :LABEL034
  899.                 AnsiPos INTEGER035, INTEGER036
  900.                 If (BOOLEAN007 == 0) Then
  901.                     SPrint "", TSTRING044(INTEGER036)
  902.                     Goto LABEL035
  903.                 Endif
  904.                 SPrint "", TSTRING046(INTEGER036)
  905.             Endif
  906.             :LABEL035
  907.             If ((STRING029 == "UP") && (INTEGER036 > 3)) Then
  908.                 If ((INTEGER036 == 18) && (INTEGER035 == 3)) Then
  909.                     INTEGER036 = 16
  910.                     AnsiPos INTEGER035, INTEGER036 + 2
  911.                     SPrint "", TSTRING043(INTEGER036 + 2)
  912.                     Goto LABEL036
  913.                 Endif
  914.                 Dec INTEGER036
  915.                 AnsiPos INTEGER035, INTEGER036 + 1
  916.                 If (BOOLEAN007 == 0) Then
  917.                     SPrint "", TSTRING043(INTEGER036 + 1)
  918.                     Goto LABEL036
  919.                 Endif
  920.                 SPrint "", TSTRING045(INTEGER036 + 1)
  921.                 :LABEL036
  922.                 AnsiPos INTEGER035, INTEGER036
  923.                 If (BOOLEAN007 == 0) Then
  924.                     SPrint "", TSTRING044(INTEGER036)
  925.                     Goto LABEL037
  926.                 Endif
  927.                 SPrint "", TSTRING046(INTEGER036)
  928.             Endif
  929.             :LABEL037
  930.             If ((Upper(STRING029) == "A") && (INTEGER036 > 3)) Then
  931.                 If ((INTEGER036 == 18) && (INTEGER035 == 3)) Then
  932.                     INTEGER036 = 16
  933.                     AnsiPos INTEGER035, INTEGER036 + 2
  934.                     SPrint "", TSTRING043(INTEGER036 + 2)
  935.                     Goto LABEL038
  936.                 Endif
  937.                 Dec INTEGER036
  938.                 AnsiPos INTEGER035, INTEGER036 + 1
  939.                 If (BOOLEAN007 == 0) Then
  940.                     SPrint "", TSTRING043(INTEGER036 + 1)
  941.                     Goto LABEL038
  942.                 Endif
  943.                 SPrint "", TSTRING045(INTEGER036 + 1)
  944.                 :LABEL038
  945.                 AnsiPos INTEGER035, INTEGER036
  946.                 If (BOOLEAN007 == 0) Then
  947.                     SPrint "", TSTRING044(INTEGER036)
  948.                     Goto LABEL039
  949.                 Endif
  950.                 SPrint "", TSTRING046(INTEGER036)
  951.             Endif
  952.             :LABEL039
  953.             If (STRING029 == Chr(13)) Then
  954.                 Gosub LABEL040
  955.                 Goto LABEL014
  956.             Endif
  957.             If (Upper(STRING029) == Chr(27)) Goto LABEL051
  958.             Goto LABEL024
  959.             :LABEL040
  960.             If (INTEGER035 == 3) Then
  961.                 AnsiPos INTEGER035 + 13, INTEGER036
  962.                 SPrint Space(25)
  963.                 AnsiPos INTEGER035 + 13, INTEGER036
  964.                 STRING040 = ""
  965.                 STRING039 = ""
  966.                 INTEGER033 = 1
  967.                 If (INTEGER036 <> 3) Then
  968.                     Gosub LABEL046
  969.                     Goto LABEL041
  970.                 Endif
  971.                 SPrint "NOT AVAILBLE YET         "
  972.                 Delay 15
  973.                 Goto LABEL045
  974.                 :LABEL041
  975.                 If (STRING040 == "") Goto LABEL045
  976.                 If (INTEGER036 == 3) Then
  977.                     FOpen 5, PPEPath() + "user.inf", 2, 0
  978.                     FSeek 5, 10, 0
  979.                     FRead 5, WORD001, 2
  980.                     FRead 5, INTEGER004, 4
  981.                     FSeek 5, WORD001 * 34 + 16, 0
  982.                     FSeek 5, (INTEGER037 - 1) * INTEGER004, 1
  983.                     BIGSTR001 = STRING040 + Chr(0)
  984.                     FWrite 5, Mid(BIGSTR001, 1, 25), 25
  985.                     FClose 5
  986.                     STRING030 = Chr(INTEGER037)
  987.                     If (Len(STRING030) == 1) STRING030 = STRING030 + " "
  988.                     STRING033 = Left(U_Name(), 1)
  989.                     STRING034 = Left(STRING040, 1)
  990.                     FOpen 4, STRING036 + "pcbndx.tmp", 2, 0
  991.                     FOpen 3, STRING036 + "pcbndx." + STRING033, 2, 0
  992.                     FSeek 3, 0, 0
  993.                     :LABEL042
  994.                     If (Ferr(3)) Goto LABEL043
  995.                     FRead 3, STRING031, 2
  996.                     FRead 3, STRING032, 25
  997.                     STRING031 = STRING031 + " "
  998.                     If (STRING031 <> STRING030) Then
  999.                         FWrite 4, STRING031, 2
  1000.                         FWrite 4, STRING032 + "                          ", 25
  1001.                     Endif
  1002.                     Goto LABEL042
  1003.                     :LABEL043
  1004.                     FClose 3
  1005.                     FClose 4
  1006.                     Delete STRING036 + "pcbndx." + STRING033
  1007.                     Rename STRING036 + "pcbndx.tmp", STRING036 + "pcbndx." + STRING033
  1008.                     FOpen 2, STRING036 + "pcbndx." + STRING034, 2, 0
  1009.                     FSeek 2, 0, 2
  1010.                     FWrite 2, STRING030 + STRING040 + "                        ", 27
  1011.                     FClose 2
  1012.                     FOpen 1, STRING035, 2, 0
  1013.                     FSeek 1, 400 * (INTEGER037 - 1), 0
  1014.                     FWrite 1, STRING040 + "                         ", 25
  1015.                     FClose 1
  1016.                 Endif
  1017.                 If (INTEGER036 == 4) U_City = STRING040
  1018.                 If (INTEGER036 == 5) U_BDPhone = STRING040
  1019.                 If (INTEGER036 == 6) U_HVPhone = STRING040
  1020.                 If (INTEGER036 == 7) U_Pwd = STRING040
  1021.                 If (INTEGER036 == 8) Then
  1022.                     STRING040 = Left(STRING040, 3)
  1023.                     If (STRING040 > 255) STRING040 = 255
  1024.                     U_Sec = STRING040
  1025.                 Endif
  1026.                 If (INTEGER036 == 9) Then
  1027.                     STRING040 = Upper(Left(STRING040, 1))
  1028.                     If (STRING040 == "Y") STRING040 = 1
  1029.                     If (STRING040 == "N") STRING040 = 0
  1030.                     U_Expert = STRING040
  1031.                 Endif
  1032.                 If (INTEGER036 == 10) Then
  1033.                     STRING040 = Upper(Left(STRING040, 1))
  1034.                     U_Trans = STRING040
  1035.                 Endif
  1036.                 If (INTEGER036 == 11) Then
  1037.                     STRING040 = Left(STRING040, 3)
  1038.                     If (STRING040 > 255) STRING040 = 255
  1039.                     U_PageLen = STRING040
  1040.                 Endif
  1041.                 If (INTEGER036 == 12) U_ExpDate = STRING040
  1042.                 If (INTEGER036 == 13) Then
  1043.                     STRING040 = Left(STRING040, 3)
  1044.                     If (STRING040 > 255) STRING040 = 255
  1045.                     U_ExpSec = STRING040
  1046.                 Endif
  1047.                 If (INTEGER036 == 14) Then
  1048.                     STRING040 = Upper(Left(STRING040, 1))
  1049.                     If (STRING040 == "Y") STRING040 = 1
  1050.                     If (STRING040 == "N") STRING040 = 0
  1051.                     U_Cls = STRING040
  1052.                 Endif
  1053.                 If (INTEGER036 == 15) Then
  1054.                     If (STRING040 <> "") Then
  1055.                         FOpen 1, STRING035, 2, 0
  1056.                         FSeek 1, 400 * (INTEGER037 - 1) + 192, 0
  1057.                         FWrite 1, Chr(STRING040), 1
  1058.                         FClose 1
  1059.                     Endif
  1060.                 Endif
  1061.                 If (INTEGER036 == 16) Then
  1062.                     STRING040 = Upper(Left(STRING040, 1))
  1063.                     If (STRING040 == "Y") Then
  1064.                         FOpen 1, STRING035, 2, 0
  1065.                         FSeek 1, 400 * (INTEGER037 - 1) + 224, 0
  1066.                         FWrite 1, "Y", 1
  1067.                         U_Sec = 0
  1068.                     Endif
  1069.                     If (STRING040 == "N") Then
  1070.                         FOpen 1, STRING035, 2, 0
  1071.                         FSeek 1, 400 * (INTEGER037 - 1) + 224, 0
  1072.                         FWrite 1, "N", 1
  1073.                     Endif
  1074.                     FClose 1
  1075.                 Endif
  1076.                 If (INTEGER036 == 18) U_Cmnt1 = STRING040
  1077.                 If (INTEGER036 == 19) U_Cmnt2 = STRING040
  1078.                 PutUser
  1079.             Endif
  1080.             If (INTEGER035 == 42) Then
  1081.                 AnsiPos INTEGER035 + 19, INTEGER036
  1082.                 SPrint Space(17)
  1083.                 AnsiPos INTEGER035 + 19, INTEGER036
  1084.                 STRING040 = ""
  1085.                 STRING039 = ""
  1086.                 INTEGER033 = 1
  1087.                 If ((((((((((INTEGER036 <> 3) && (INTEGER036 <> 4)) && (INTEGER036 <> 5)) && (INTEGER036 <> 6)) && (INTEGER036 <> 7)) && (INTEGER036 <> 8)) && (INTEGER036 <> 11)) && (INTEGER036 <> 13)) && (INTEGER036 <> 14)) && (INTEGER036 <> 19)) Then
  1088.                     Gosub LABEL046
  1089.                     Goto LABEL044
  1090.                 Endif
  1091.                 SPrint "NOT AVAILBLE YET "
  1092.                 Delay 15
  1093.                 Goto LABEL045
  1094.                 :LABEL044
  1095.                 If (STRING040 == "") Goto LABEL045
  1096.                 If (INTEGER036 == 9) Then
  1097.                     INTEGER041 = STRING040 - U_Fdl()
  1098.                     AdjTFiles INTEGER041
  1099.                 Endif
  1100.                 If (INTEGER036 == 10) Then
  1101.                     INTEGER043 = STRING040 - U_BdlDay()
  1102.                     AdjBytes INTEGER043
  1103.                 Endif
  1104.                 If (INTEGER036 == 12) Then
  1105.                     INTEGER042 = STRING040 - U_Bdl()
  1106.                     AdjTBytes INTEGER042
  1107.                 Endif
  1108.                 If (INTEGER036 == 15) Then
  1109.                     STRING040 = Upper(Left(STRING040, 1))
  1110.                     If (STRING040 == "Y") U_FSE = 1
  1111.                     If (STRING040 == "N") U_FSE = 0
  1112.                 Endif
  1113.                 If (INTEGER036 == 16) Then
  1114.                     STRING040 = Upper(Left(STRING040, 1))
  1115.                     If (STRING040 == "Y") U_Def79 = 1
  1116.                     If (STRING040 == "N") U_Def79 = 0
  1117.                 Endif
  1118.                 If (INTEGER036 == 17) Then
  1119.                     STRING040 = Upper(Left(STRING040, 1))
  1120.                     If (STRING040 == "Y") U_Scroll = 1
  1121.                     If (STRING040 == "N") U_Scroll = 0
  1122.                 Endif
  1123.                 If (INTEGER036 == 18) Then
  1124.                     STRING040 = Upper(Left(STRING040, 1))
  1125.                     If (STRING040 == "Y") U_LongHDR = 1
  1126.                     If (STRING040 == "N") U_LongHDR = 0
  1127.                 Endif
  1128.                 If (INTEGER036 == 19) Then
  1129.                     STRING040 = Upper(Left(STRING040, 1))
  1130.                     FOpen 1, STRING035, 2, 0
  1131.                     FSeek 1, 400 * (INTEGER037 - 1) + 389, 0
  1132.                     FRead 1, STRING019, 1
  1133.                     BitSet STRING019, 0
  1134.                     If (STRING040 == "U") STRING019 = 0
  1135.                     If (STRING040 == "A") STRING019 = 1
  1136.                     FSeek 1, 400 * (INTEGER037 - 1) + 389, 0
  1137.                     FWrite 1, STRING019, 1
  1138.                     FClose 1
  1139.                     Goto LABEL014
  1140.                 Endif
  1141.                 PutUser
  1142.             Endif
  1143.             :LABEL045
  1144.             Return
  1145.             :LABEL046
  1146.             STRING039 = KInkey()
  1147.             If (STRING039 == "") Goto LABEL046
  1148.             If (STRING039 == Chr(13)) Goto LABEL050
  1149.             If (STRING039 == Chr(8)) Then
  1150.                 If (INTEGER033 > 1) Then
  1151.                     SPrint Chr(8)
  1152.                     SPrint " "
  1153.                     SPrint Chr(8)
  1154.                     Dec INTEGER033
  1155.                     STRING040 = Left(STRING040, INTEGER033 - 1)
  1156.                     Goto LABEL047
  1157.                 Endif
  1158.                 Sound 250
  1159.                 Delay 1
  1160.                 Sound 0
  1161.                 Goto LABEL046
  1162.                 :LABEL047
  1163.                 Goto LABEL046
  1164.             Endif
  1165.             If (BOOLEAN007 == 0) Then
  1166.                 If ((INTEGER033 < 26) && (INTEGER033 >= 1)) Then
  1167.                     SPrint "", STRING039
  1168.                     Inc INTEGER033
  1169.                     STRING040 = STRING040 + STRING039
  1170.                     Goto LABEL048
  1171.                 Endif
  1172.                 Sound 250
  1173.                 Delay 1
  1174.                 Sound 0
  1175.                 Goto LABEL046
  1176.                 :LABEL048
  1177.                 Goto LABEL049
  1178.             Endif
  1179.             If ((INTEGER033 < 18) && (INTEGER033 >= 1)) Then
  1180.                 SPrint STRING039
  1181.                 STRING040 = STRING040 + STRING039
  1182.                 Goto LABEL049
  1183.             Endif
  1184.             Sound 250
  1185.             Delay 1
  1186.             Sound 0
  1187.             :LABEL049
  1188.             Goto LABEL046
  1189.             :LABEL050
  1190.             Return
  1191.             :LABEL051
  1192.             Print "@X07"
  1193.             Cls
  1194.             RestScrn
  1195.             Gosub LABEL083
  1196.             AnsiPos INTEGER026, INTEGER027
  1197.             STRING020 = ""
  1198.             Goto LABEL003
  1199.         Endif
  1200.         If (STRING020 == Chr(7)) Then
  1201.             INTEGER026 = GetX()
  1202.             INTEGER027 = GetY()
  1203.             MPrint Chr(7) + Chr(7)
  1204.             SPrint "30H"
  1205.             SPrint "Beeped User!├"
  1206.             Delay 3
  1207.             SPrint "30H"
  1208.             SPrint "────────────────────"
  1209.             AnsiPos INTEGER026, INTEGER027
  1210.             STRING020 = ""
  1211.             Goto LABEL003
  1212.         Endif
  1213.         If (STRING020 == Chr(12)) Then
  1214.             INTEGER026 = GetX()
  1215.             INTEGER027 = GetY()
  1216.             If (BOOLEAN010 == 0) Then
  1217.                 SPrint "4H"
  1218.                 SPrint "[L]"
  1219.                 BOOLEAN010 = 1
  1220.                 If (Upper(STRING059) == "YES") Then
  1221.                     For INTEGER025 = 14 To 21
  1222.                         AnsiPos 1, INTEGER025
  1223.                         ClrEol
  1224.                     Next
  1225.                     INTEGER021 = 14
  1226.                     INTEGER022 = 2
  1227.                     Print "24H"
  1228.                     Print "┌────────────────────────┐"
  1229.                     Print "24H"
  1230.                     Print "│ Sysop Locked Your Keys │"
  1231.                     Print "24H"
  1232.                     Print "└────────────────────────┘"
  1233.                     AnsiPos INTEGER026, INTEGER027
  1234.                 Endif
  1235.                 Goto LABEL052
  1236.             Endif
  1237.             SPrint "4H"
  1238.             SPrint "───"
  1239.             BOOLEAN010 = 0
  1240.             If (Upper(STRING059) == "YES") Then
  1241.                 Print "20H"
  1242.                 Print ""
  1243.                 Print "20H"
  1244.                 Print ""
  1245.                 Print "20H"
  1246.                 Print ""
  1247.             Endif
  1248.             AnsiPos INTEGER026, INTEGER027
  1249.             Print STRING017
  1250.             :LABEL052
  1251.             STRING020 = ""
  1252.             Goto LABEL003
  1253.         Endif
  1254.         If (STRING020 == Chr(5)) Then
  1255.             AnsiPos INTEGER023, INTEGER020
  1256.             If ((BOOLEAN009 == 0) && (BOOLEAN013 == 0)) Then
  1257.                 BOOLEAN009 = 1
  1258.                 STRING018 = Mid(STRING057, 1, 4)
  1259.                 INTEGER026 = GetX()
  1260.                 INTEGER027 = GetY()
  1261.                 SPrint "9H"
  1262.                 SPrint "ON "
  1263.                 AnsiPos INTEGER026, INTEGER027
  1264.                 Goto LABEL053
  1265.             Endif
  1266.             BOOLEAN009 = 0
  1267.             STRING018 = STRING047
  1268.             INTEGER026 = GetX()
  1269.             INTEGER027 = GetY()
  1270.             SPrint "9H"
  1271.             SPrint "OFF"
  1272.             AnsiPos INTEGER026, INTEGER027
  1273.             :LABEL053
  1274.             STRING020 = ""
  1275.             Goto LABEL003
  1276.         Endif
  1277.         If (STRING020 == Chr(3)) Then
  1278.             If (BOOLEAN011 == 0) Then
  1279.                 INTEGER027 = GetY()
  1280.                 INTEGER026 = GetX()
  1281.                 If (Upper(STRING060) == "MANUAL") Then
  1282.                     AnsiPos 36, 3
  1283.                     Print "@X08───────────────────────────────────────"
  1284.                     AnsiPos 79, 23
  1285.                     SaveScrn
  1286.                     AnsiPos INTEGER026, INTEGER027
  1287.                     MPrint "25H"
  1288.                     MPrint "┤ Wait a Sec..├"
  1289.                     SPrint "11H"
  1290.                     SPrint "───────────────────────────────────────────┐"
  1291.                     SPrint "11H"
  1292.                     SPrint "│ Name of CapC│"
  1293.                     SPrint "11H"
  1294.                     SPrint "│ File to Open████████████████████████████ │"
  1295.                     SPrint "11H"
  1296.                     SPrint "│ (With Path)C│"
  1297.                     SPrint "11H"
  1298.                     SPrint "───────────────────────────────────────────┘"
  1299.                     SPrint "27H"
  1300.                     SPrint ""
  1301.                     INTEGER029 = 1
  1302.                     :LABEL054
  1303.                     STRING023 = KInkey()
  1304.                     If (STRING023 == "") Goto LABEL054
  1305.                     If (STRING023 == Chr(13)) Goto LABEL056
  1306.                     If (STRING023 == Chr(8)) Then
  1307.                         If (INTEGER029 > 1) Then
  1308.                             SPrint Chr(8)
  1309.                             Print " "
  1310.                             SPrint Chr(8)
  1311.                             Dec INTEGER029
  1312.                             STRING024 = Left(STRING024, INTEGER029 - 1)
  1313.                             Goto LABEL055
  1314.                         Endif
  1315.                         Sound 150
  1316.                         Delay 0
  1317.                         Sound 0
  1318.                         :LABEL055
  1319.                         Goto LABEL054
  1320.                     Endif
  1321.                     If (INTEGER029 == 29) Then
  1322.                         Sound 150
  1323.                         Delay 1
  1324.                         Sound 0
  1325.                         Goto LABEL054
  1326.                     Endif
  1327.                     If ((STRING023 <> Chr(13)) && (INTEGER029 < 29)) Then
  1328.                         SPrint "" + STRING023
  1329.                         STRING024 = STRING024 + STRING023
  1330.                         Inc INTEGER029
  1331.                         Goto LABEL054
  1332.                     Endif
  1333.                     :LABEL056
  1334.                     If (STRING024 <> "") Then
  1335.                         BOOLEAN011 = 1
  1336.                         If (Exist(STRING024)) Goto LABEL057
  1337.                         FCreate 1, STRING024, 2, 0
  1338.                         Goto LABEL058
  1339.                         :LABEL057
  1340.                         FAppend 1, STRING024, 2, 0
  1341.                         :LABEL058
  1342.                         FPutLn 1
  1343.                         FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
  1344.                         FPut 1, "     φ PerfectChat Capture started at  "
  1345.                         FPut 1, Date()
  1346.                         FPut 1, "  "
  1347.                         FPut 1, Time()
  1348.                         FPut 1, "  with "
  1349.                         FPutLn 1, STRING027 + " φ"
  1350.                         FPutLn 1
  1351.                     Endif
  1352.                     Print "@X07"
  1353.                     RestScrn
  1354.                     Goto LABEL061
  1355.                 Endif
  1356.                 BOOLEAN011 = 1
  1357.                 If (Exist(STRING060)) Goto LABEL059
  1358.                 FCreate 1, STRING060, 2, 0
  1359.                 Goto LABEL060
  1360.                 :LABEL059
  1361.                 FAppend 1, STRING060, 2, 0
  1362.                 :LABEL060
  1363.                 FPutLn 1
  1364.                 FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
  1365.                 FPut 1, "     φ PerfectChat Capture started at  "
  1366.                 FPut 1, Date()
  1367.                 FPut 1, "  "
  1368.                 FPut 1, Time()
  1369.                 FPut 1, "  with "
  1370.                 FPutLn 1, STRING027 + " φ"
  1371.                 FPutLn 1
  1372.                 :LABEL061
  1373.                 Gosub LABEL083
  1374.                 AnsiPos INTEGER026, INTEGER027
  1375.                 Goto LABEL062
  1376.             Endif
  1377.             INTEGER026 = GetX()
  1378.             INTEGER027 = GetY()
  1379.             BOOLEAN011 = 0
  1380.             FPutLn 1
  1381.             FPut 1, "     φ PerfectChat Capture ended at  "
  1382.             FPut 1, Date()
  1383.             FPut 1, "  "
  1384.             FPut 1, Time()
  1385.             FPut 1, "  with "
  1386.             FPutLn 1, STRING027 + " φ"
  1387.             FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
  1388.             FPutLn 1, "                                            [Perfect Chatter v1.1 By IronMan]"
  1389.             FPutLn 1
  1390.             FClose 1
  1391.             Gosub LABEL083
  1392.             AnsiPos INTEGER026, INTEGER027
  1393.             :LABEL062
  1394.             STRING020 = ""
  1395.             Goto LABEL003
  1396.         Endif
  1397.         If (STRING020 == Chr(20)) Then
  1398.             INTEGER026 = GetX()
  1399.             INTEGER027 = GetY()
  1400.             AnsiPos INTEGER026, INTEGER027
  1401.             AnsiPos 36, 3
  1402.             Print "@X08───────────────────────────────────────"
  1403.             AnsiPos 79, 23
  1404.             SaveScrn
  1405.             AnsiPos INTEGER026, INTEGER027
  1406.             MPrint "25H"
  1407.             MPrint "┤ Wait a Sec..├"
  1408.             SPrint "11H"
  1409.             SPrint "───────────────────────────────────────────┐"
  1410.             SPrint "11H"
  1411.             SPrint "│            C│"
  1412.             SPrint "11H"
  1413.             SPrint "│ File to View████████████████████████████ │"
  1414.             SPrint "11H"
  1415.             SPrint "│            C│"
  1416.             SPrint "11H"
  1417.             SPrint "───────────────────────────────────────────┘"
  1418.             SPrint "27H"
  1419.             SPrint ""
  1420.             INTEGER028 = 1
  1421.             :LABEL063
  1422.             STRING025 = KInkey()
  1423.             If (STRING025 == "") Goto LABEL063
  1424.             If (STRING025 == Chr(13)) Goto LABEL065
  1425.             If (STRING025 == Chr(8)) Then
  1426.                 If (INTEGER028 > 1) Then
  1427.                     SPrint Chr(8)
  1428.                     Print " "
  1429.                     SPrint Chr(8)
  1430.                     Dec INTEGER028
  1431.                     STRING026 = Left(STRING026, INTEGER028 - 1)
  1432.                     Goto LABEL064
  1433.                 Endif
  1434.                 Sound 150
  1435.                 Delay 0
  1436.                 Sound 0
  1437.                 :LABEL064
  1438.                 Goto LABEL063
  1439.             Endif
  1440.             If (INTEGER028 == 29) Then
  1441.                 Sound 150
  1442.                 Delay 1
  1443.                 Sound 0
  1444.                 Goto LABEL063
  1445.             Endif
  1446.             If ((STRING025 <> Chr(13)) && (INTEGER028 < 29)) Then
  1447.                 SPrint "" + STRING025
  1448.                 STRING026 = STRING026 + STRING025
  1449.                 Inc INTEGER028
  1450.                 Goto LABEL063
  1451.             Endif
  1452.             :LABEL065
  1453.             If (STRING026 <> "") Then
  1454.                 If (Exist(STRING026)) Then
  1455.                     Print "@X07"
  1456.                     StartDisp 2
  1457.                     Cls
  1458.                     Newlines 3
  1459.                     PrintLn "                  @X08<──────────-> @X0FVIEWING FILE @X08<────────────>"
  1460.                     Newlines 2
  1461.                     DispStr "%" + STRING026
  1462.                     Newlines 3
  1463.                     PrintLn "                  @X08<──────────-> @X0FEnd Of File! @X08<────────────>"
  1464.                     Newlines 2
  1465.                     Wait
  1466.                     StartDisp 1
  1467.                     Goto LABEL066
  1468.                 Endif
  1469.                 SPrint "31H"
  1470.                 SPrint "File Not found"
  1471.             Endif
  1472.             :LABEL066
  1473.             Print "@X07"
  1474.             RestScrn
  1475.             Gosub LABEL083
  1476.             STRING026 = ""
  1477.             INTEGER028 = 1
  1478.             AnsiPos INTEGER026, INTEGER027
  1479.             STRING020 = ""
  1480.             Goto LABEL003
  1481.         Endif
  1482.         If (STRING020 == Chr(23)) Then
  1483.             For INTEGER024 = 4 To 12
  1484.                 AnsiPos 1, INTEGER024
  1485.                 ClrEol
  1486.             Next
  1487.             INTEGER020 = 4
  1488.             INTEGER023 = 2
  1489.             AnsiPos INTEGER023, INTEGER020
  1490.             Goto LABEL003
  1491.         Endif
  1492.         If (STRING020 == Chr(13)) Then
  1493.             Gosub LABEL005
  1494.             Inc INTEGER020
  1495.             INTEGER023 = 2
  1496.             AnsiPos INTEGER023, INTEGER020
  1497.             If ((BOOLEAN011 == 1) && (STRING062 <> "")) FPutLn 1, "[" + STRING022 + "]: " + STRING062
  1498.             STRING062 = ""
  1499.             BIGSTR003 = ""
  1500.         Endif
  1501.     Endif
  1502.     Goto LABEL003
  1503.     :LABEL067
  1504.     If (BOOLEAN010 == 0) Then
  1505.         If ((BOOLEAN012 == 1) && (BOOLEAN008 == 0)) Then
  1506.             STRING017 = TSTRING065(INTEGER017)
  1507.         Endif
  1508.         If ((INTEGER021 > 21) && (INTEGER022 < 78)) Then
  1509.             For INTEGER025 = 14 To 19
  1510.                 AnsiPos 2, INTEGER025
  1511.                 ClrEol
  1512.             Next
  1513.             Gosub LABEL082
  1514.             For INTEGER025 = 20 To 21
  1515.                 AnsiPos 2, INTEGER025
  1516.                 ClrEol
  1517.             Next
  1518.             INTEGER022 = 2
  1519.             AnsiPos INTEGER022, INTEGER021
  1520.             Goto LABEL003
  1521.             Goto LABEL068
  1522.         Endif
  1523.         If ((INTEGER022 == 78) && (INTEGER021 == 21)) Then
  1524.             For INTEGER025 = 14 To 19
  1525.                 AnsiPos 2, INTEGER025
  1526.                 ClrEol
  1527.             Next
  1528.             Gosub LABEL082
  1529.             For INTEGER025 = 20 To 21
  1530.                 AnsiPos 2, INTEGER025
  1531.                 ClrEol
  1532.             Next
  1533.             AnsiPos INTEGER022 - Len(BIGSTR002) / 5, INTEGER021 - 1
  1534.             Print Space(Len(BIGSTR002) / 5)
  1535.             INTEGER022 = 2
  1536.             AnsiPos INTEGER022, INTEGER021
  1537.             Print BIGSTR002
  1538.             INTEGER022 = Len(BIGSTR002) / 5 + 2
  1539.             If (BOOLEAN011 == 1) Then
  1540.                 FPutLn 1, "[" + STRING028 + "]: ", STRING063
  1541.                 STRING063 = BIGSTR002
  1542.             Endif
  1543.             Goto LABEL003
  1544.         Endif
  1545.         :LABEL068
  1546.         STRING021 = MInkey()
  1547.         If (STRING021 == "") Goto LABEL003
  1548.         If (Len(STRING021) > 1) Goto LABEL003
  1549.         AnsiPos INTEGER022, INTEGER021
  1550.         If ((STRING021 == Chr(8)) && (INTEGER022 > 2)) Then
  1551.             STRING063 = Left(STRING063, Len(STRING063) - 1)
  1552.             BIGSTR002 = Left(BIGSTR002, Len(BIGSTR002) - 5)
  1553.             Print Chr(8) + Chr(32) + Chr(8)
  1554.             Dec INTEGER022
  1555.             Goto LABEL003
  1556.             Goto LABEL069
  1557.         Endif
  1558.         If (STRING021 == Chr(8)) Goto LABEL003
  1559.         :LABEL069
  1560.         If ((INTEGER022 == 78) && (STRING021 > Chr(27))) Then
  1561.             If (Len(BIGSTR002) < 78) Then
  1562.                 AnsiPos INTEGER022 - Len(BIGSTR002) / 5, INTEGER021
  1563.                 Print Space(Len(BIGSTR002) / 5)
  1564.                 INTEGER022 = 2
  1565.                 Inc INTEGER021
  1566.                 AnsiPos INTEGER022, INTEGER021
  1567.                 Print BIGSTR002
  1568.                 INTEGER022 = Len(BIGSTR002) / 5 + 2
  1569.                 Goto LABEL070
  1570.             Endif
  1571.             Inc INTEGER021
  1572.             INTEGER022 = 2
  1573.             AnsiPos INTEGER022, INTEGER021
  1574.             BIGSTR002 = ""
  1575.             :LABEL070
  1576.             If (BOOLEAN011 == 1) Then
  1577.                 FPutLn 1, "[" + STRING028 + "]: ", STRING063
  1578.                 STRING063 = BIGSTR002
  1579.             Endif
  1580.         Endif
  1581.         If (STRING021 == " ") Then
  1582.             Gosub LABEL071
  1583.             Goto LABEL076
  1584.             :LABEL071
  1585.             For INTEGER008 = 1 To INTEGER007
  1586.                 If (Upper(TSTRING014(INTEGER008)) == Upper(StripAtx(BIGSTR002))) Then
  1587.                     Backup Len(BIGSTR002) / 5
  1588.                     If (INTEGER022 - Len(StripAtx(BIGSTR002)) + Len(TSTRING015(INTEGER008)) - 78 < 0) Then
  1589.                         Gosub LABEL072
  1590.                         STRING063 = Left(STRING063, Len(STRING063) - Len(StripAtx(BIGSTR002))) + TSTRING015(INTEGER008)
  1591.                         Goto LABEL075
  1592.                     Endif
  1593.                     If (BOOLEAN011 == 1) Then
  1594.                         STRING063 = Left(STRING063, Len(STRING063) - Len(StripAtx(BIGSTR002)))
  1595.                         FPutLn 1, "[" + STRING028 + "]: ", STRING063
  1596.                         STRING063 = TSTRING015(INTEGER008)
  1597.                     Endif
  1598.                     If (INTEGER021 < 21) Then
  1599.                         Print Space(Len(BIGSTR002) / 5)
  1600.                         INTEGER022 = Len(TSTRING015(INTEGER008)) + 2
  1601.                         Inc INTEGER021
  1602.                         AnsiPos 2, INTEGER021
  1603.                         Gosub LABEL072
  1604.                         Goto LABEL074
  1605.                         :LABEL072
  1606.                         If (BOOLEAN012 == 0) Then
  1607.                             Print STRING017 + TSTRING015(INTEGER008)
  1608.                             Goto LABEL073
  1609.                         Endif
  1610.                         STRING012 = ""
  1611.                         For INTEGER006 = 1 To Len(TSTRING015(INTEGER008))
  1612.                             STRING012 = STRING012 + TSTRING065(INTEGER017) + Mid(TSTRING015(INTEGER008), INTEGER006, 1)
  1613.                             Inc INTEGER017
  1614.                             If (INTEGER017 == S2I(STRING055, 10) + 1) INTEGER017 = 1
  1615.                         Next
  1616.                         Print STRING012
  1617.                         :LABEL073
  1618.                         Return
  1619.                         :LABEL074
  1620.                         Goto LABEL075
  1621.                     Endif
  1622.                     For INTEGER025 = 14 To 19
  1623.                         AnsiPos 2, INTEGER025
  1624.                         ClrEol
  1625.                     Next
  1626.                     Gosub LABEL082
  1627.                     For INTEGER025 = 20 To 21
  1628.                         AnsiPos 2, INTEGER025
  1629.                         ClrEol
  1630.                     Next
  1631.                     AnsiPos INTEGER022 - Len(BIGSTR002) / 5, INTEGER021 - 1
  1632.                     Print Space(Len(BIGSTR002) / 5)
  1633.                     INTEGER022 = 2
  1634.                     AnsiPos INTEGER022, INTEGER021
  1635.                     Gosub LABEL072
  1636.                     INTEGER022 = Len(TSTRING015(INTEGER008)) + 2
  1637.                     If (BOOLEAN011 == 1) Then
  1638.                         FPutLn 1, "[" + STRING028 + "]: ", STRING063
  1639.                         STRING063 = BIGSTR002
  1640.                     Endif
  1641.                     :LABEL075
  1642.                     INTEGER022 = INTEGER022 - Len(StripAtx(BIGSTR002)) + Len(TSTRING015(INTEGER008))
  1643.                     Break
  1644.                 Endif
  1645.             Next
  1646.             Return
  1647.             :LABEL076
  1648.             BIGSTR002 = ""
  1649.             Print STRING017 + STRING021
  1650.             STRING063 = STRING063 + STRING021
  1651.             Inc INTEGER022
  1652.             Goto LABEL003
  1653.         Endif
  1654.         If (STRING021 > Chr(27)) Then
  1655.             Print STRING017 + STRING021
  1656.             STRING063 = STRING063 + STRING021
  1657.             BIGSTR002 = BIGSTR002 + STRING017 + STRING021
  1658.             Inc INTEGER022
  1659.         Endif
  1660.         If (BOOLEAN012 == 1) Then
  1661.             If (INTEGER017 == STRING055) Then
  1662.                 INTEGER017 = 1
  1663.                 Goto LABEL077
  1664.             Endif
  1665.             Inc INTEGER017
  1666.         Endif
  1667.         :LABEL077
  1668.         If (STRING021 < Chr(28)) Then
  1669.             If ((STRING021 == Chr(27)) && (STRING052 == "YES")) Then
  1670.                 If (BOOLEAN011 == 1) Then
  1671.                     If (STRING063 <> "") Then
  1672.                         FPutLn 1, "[" + STRING028 + "]: " + STRING063
  1673.                     Endif
  1674.                     FPutLn 1
  1675.                     FPut 1, "     φ PerfectChat Capture ended at  "
  1676.                     FPut 1, Date()
  1677.                     FPut 1, "  "
  1678.                     FPut 1, Time()
  1679.                     FPut 1, "  with "
  1680.                     FPutLn 1, STRING027 + " φ"
  1681.                     FPutLn 1, "────────────────────────────────────────────────────────────────────────────────"
  1682.                     FPutLn 1, "                                            [Perfect Chatter v1.1 By IronMan]"
  1683.                     FPutLn 1
  1684.                     FClose 1
  1685.                 Endif
  1686.                 Goto LABEL084
  1687.             Endif
  1688.             If (STRING021 == Chr(26)) Then
  1689.                 INTEGER026 = GetX()
  1690.                 INTEGER027 = GetY()
  1691.                 AnsiPos 36, 3
  1692.                 Print "@X08───────────────────────────────────────"
  1693.                 AnsiPos 79, 23
  1694.                 SaveScrn
  1695.                 SPrint "23H"
  1696.                 SPrint "User Viewing Help File├"
  1697.                 AnsiPos 30, 6
  1698.                 MPrint "0H"
  1699.                 MPrint "┌────────────────────────┐"
  1700.                 MPrint "0H"
  1701.                 MPrint "│   ▄ ▄ ▄▄ ▄  ▄▄▄  █▌    │"
  1702.                 MPrint "0H"
  1703.                 MPrint "│   █▄█ █▄ █▌ █▄█  █▌    │"
  1704.                 MPrint "30H"
  1705.                 MPrint "│   █ █▄ █▄ █▌   ▀     │"
  1706.                 MPrint "30H"
  1707.                 MPrint "│ ═──═─═──═──═──══ ▀ ═─  │"
  1708.                 MPrint "30H"
  1709.                 MPrint "│ [CTRL-WClear Screen  │"
  1710.                 MPrint "30H"
  1711.                 MPrint "│ [CTRL-ERemark Words  │"
  1712.                 MPrint "30H"
  1713.                 MPrint "│ [CTRL-OChange Color  │"
  1714.                 MPrint "30H"
  1715.                 MPrint "│ [CTRL-GCBeep Sysop   │"
  1716.                 MPrint "30H"
  1717.                 MPrint "│ [CTRL-ZThis Help     │"
  1718.                 MPrint "30H"
  1719.                 MPrint "│ [ESCQuit Chat        │"
  1720.                 MPrint "30H"
  1721.                 MPrint "└────────────────────────┘"
  1722.                 :LABEL078
  1723.                 STRING068 = MInkey()
  1724.                 If ((STRING068 <> Chr(13)) && (STRING068 <> " ")) Goto LABEL078
  1725.                 Cls
  1726.                 RestScrn
  1727.                 Gosub LABEL083
  1728.                 AnsiPos INTEGER022, INTEGER021
  1729.                 STRING021 = ""
  1730.                 Goto LABEL003
  1731.             Endif
  1732.             If (STRING021 == Chr(15)) Then
  1733.                 AnsiPos INTEGER022, INTEGER021
  1734.                 If ((BOOLEAN012 == 0) && (BOOLEAN008 == 0)) Then
  1735.                     BOOLEAN012 = 1
  1736.                     INTEGER026 = GetX()
  1737.                     INTEGER027 = GetY()
  1738.                     Print "28H"
  1739.                     Print "ON "
  1740.                     AnsiPos INTEGER026, INTEGER027
  1741.                     Goto LABEL079
  1742.                 Endif
  1743.                 If ((BOOLEAN012 == 1) && (BOOLEAN008 == 0)) Then
  1744.                     BOOLEAN012 = 0
  1745.                     STRING017 = STRING048
  1746.                     INTEGER026 = GetX()
  1747.                     INTEGER027 = GetY()
  1748.                     Print "28H"
  1749.                     Print "OFF"
  1750.                     AnsiPos INTEGER026, INTEGER027
  1751.                 Endif
  1752.                 :LABEL079
  1753.                 STRING021 = ""
  1754.                 Goto LABEL003
  1755.             Endif
  1756.             If (STRING021 == Chr(13)) Then
  1757.                 Gosub LABEL071
  1758.                 Inc INTEGER021
  1759.                 INTEGER022 = 2
  1760.                 AnsiPos INTEGER022, INTEGER021
  1761.                 If ((BOOLEAN011 == 1) && (STRING063 <> "")) FPutLn 1, "[" + STRING028 + "]: " + STRING063
  1762.                 STRING063 = ""
  1763.                 BIGSTR002 = ""
  1764.                 Goto LABEL003
  1765.             Endif
  1766.             If (STRING021 == Chr(7)) Then
  1767.                 If (Upper(STRING061) == "YES") Then
  1768.                     INTEGER026 = GetX()
  1769.                     INTEGER027 = GetY()
  1770.                     Sound 1000
  1771.                     MPrint "30H"
  1772.                     MPrint "Beeped Sysop!├"
  1773.                     Delay 3
  1774.                     MPrint "30H"
  1775.                     MPrint "────────────────────"
  1776.                     Sound 0
  1777.                     AnsiPos INTEGER026, INTEGER027
  1778.                     STRING021 = ""
  1779.                     Goto LABEL003
  1780.                 Endif
  1781.             Endif
  1782.             If (STRING021 == Chr(5)) Then
  1783.                 AnsiPos INTEGER022, INTEGER021
  1784.                 If ((BOOLEAN008 == 0) && (BOOLEAN012 == 0)) Then
  1785.                     BOOLEAN008 = 1
  1786.                     STRING017 = Mid(STRING058, 1, 4)
  1787.                     INTEGER026 = GetX()
  1788.                     INTEGER027 = GetY()
  1789.                     Print "16H"
  1790.                     Print "ON "
  1791.                     AnsiPos INTEGER026, INTEGER027
  1792.                     Goto LABEL080
  1793.                 Endif
  1794.                 BOOLEAN008 = 0
  1795.                 STRING017 = STRING048
  1796.                 INTEGER026 = GetX()
  1797.                 INTEGER027 = GetY()
  1798.                 Print "16H"
  1799.                 Print "OFF"
  1800.                 AnsiPos INTEGER026, INTEGER027
  1801.                 :LABEL080
  1802.                 STRING021 = ""
  1803.                 Goto LABEL003
  1804.             Endif
  1805.             If (STRING021 == Chr(23)) Then
  1806.                 For INTEGER025 = 14 To 21
  1807.                     AnsiPos 1, INTEGER025
  1808.                     ClrEol
  1809.                 Next
  1810.                 INTEGER021 = 14
  1811.                 INTEGER022 = 2
  1812.                 AnsiPos INTEGER022, INTEGER021
  1813.                 Goto LABEL003
  1814.             Endif
  1815.         Endif
  1816.     Endif
  1817.     Goto LABEL003
  1818.     :LABEL081
  1819.     INTEGER045 = 4
  1820.     For INTEGER044 = 11 To 12
  1821.         BIGSTR004 = ScrText(2, INTEGER044, 77, 1)
  1822.         If (StripAtx(BIGSTR004) <> STRING066) Then
  1823.             AnsiPos 2, INTEGER045
  1824.             Print BIGSTR004
  1825.             Inc INTEGER045
  1826.         Endif
  1827.     Next
  1828.     INTEGER020 = INTEGER045
  1829.     Return
  1830.     :LABEL082
  1831.     INTEGER047 = 14
  1832.     For INTEGER046 = 20 To 21
  1833.         BIGSTR005 = ScrText(2, INTEGER046, 77, 1)
  1834.         If (StripAtx(BIGSTR005) <> STRING066) Then
  1835.             AnsiPos 2, INTEGER047
  1836.             Print BIGSTR005
  1837.             Inc INTEGER047
  1838.         Endif
  1839.     Next
  1840.     INTEGER021 = INTEGER047
  1841.     Return
  1842.     :LABEL083
  1843.     SPrint "6H"
  1844.     SPrint "[CAPTURE: OFF  REMARK: OFF  COLOR: OFF]"
  1845.     If (BOOLEAN011 == 1) Then
  1846.         SPrint "6H"
  1847.         SPrint "ON "
  1848.     Endif
  1849.     If (BOOLEAN009 == 1) Then
  1850.         SPrint "9H"
  1851.         SPrint "ON "
  1852.     Endif
  1853.     If (BOOLEAN013 == 1) Then
  1854.         SPrint "1H"
  1855.         SPrint "ON "
  1856.     Endif
  1857.     Return
  1858.     :LABEL084
  1859.     Print "@X07"
  1860.     Cls
  1861.     For INTEGER014 = 1 To 23
  1862.         AnsiPos 1, INTEGER014
  1863.         Print TSTRING016(INTEGER014)
  1864.     Next
  1865.     AnsiPos INTEGER012, INTEGER013
  1866.  
  1867. ;------------------------------------------------------------------------------
  1868. ;
  1869. ; Usage report (before postprocessing)
  1870. ;
  1871. ; ■ Statements used :
  1872. ;
  1873. ;    1       End
  1874. ;    7       Cls
  1875. ;    15      ClrEol
  1876. ;    1       Wait
  1877. ;    365     Goto 
  1878. ;    396     Let 
  1879. ;    74      Print 
  1880. ;    2       PrintLn 
  1881. ;    245     If 
  1882. ;    2       FCreate 
  1883. ;    12      FOpen 
  1884. ;    2       FAppend 
  1885. ;    15      FClose 
  1886. ;    2       FGet 
  1887. ;    25      FPut 
  1888. ;    35      FPutLn 
  1889. ;    3       StartDisp 
  1890. ;    2       PutUser
  1891. ;    1       Delete 
  1892. ;    1       AdjTime 
  1893. ;    25      Gosub 
  1894. ;    9       Return
  1895. ;    14      Delay 
  1896. ;    27      Inc 
  1897. ;    9       Dec 
  1898. ;    4       Newlines 
  1899. ;    1       DispStr 
  1900. ;    142     AnsiPos 
  1901. ;    2       Backup 
  1902. ;    5       SaveScrn
  1903. ;    5       RestScrn
  1904. ;    20      Sound 
  1905. ;    243     SPrint 
  1906. ;    37      MPrint 
  1907. ;    1       Rename 
  1908. ;    13      FSeek 
  1909. ;    7       FRead 
  1910. ;    9       FWrite 
  1911. ;    1       AdjBytes 
  1912. ;    1       GetAltUser 
  1913. ;    1       AdjTBytes 
  1914. ;    1       AdjTFiles 
  1915. ;    1       BitSet 
  1916. ;
  1917. ;
  1918. ; ■ Functions used :
  1919. ;
  1920. ;    1       -
  1921. ;    10      *
  1922. ;    19      /
  1923. ;    246     +
  1924. ;    82      -
  1925. ;    181     ==
  1926. ;    31      <>
  1927. ;    48      <
  1928. ;    28      <=
  1929. ;    19      >
  1930. ;    60      >=
  1931. ;    194     !
  1932. ;    99      &&
  1933. ;    28      ||
  1934. ;    87      Len(
  1935. ;    23      Upper()
  1936. ;    8       Mid()
  1937. ;    34      Left()
  1938. ;    47      Space()
  1939. ;    2       Ferr()
  1940. ;    111     Chr()
  1941. ;    2       Asc()
  1942. ;    5       Date()
  1943. ;    5       Time()
  1944. ;    6       U_Name()
  1945. ;    2       U_LDate()
  1946. ;    2       U_LTime()
  1947. ;    2       U_LDir()
  1948. ;    2       U_Logons()
  1949. ;    2       U_Ful()
  1950. ;    3       U_Fdl()
  1951. ;    3       U_BdlDay()
  1952. ;    3       U_Bdl()
  1953. ;    2       U_Bul()
  1954. ;    12      StripAtx()
  1955. ;    3       PCBDat()
  1956. ;    17      PPEPath()
  1957. ;    2       U_MsgRd()
  1958. ;    2       U_MsgWr()
  1959. ;    18      ReadLine()
  1960. ;    2       MinLeft()
  1961. ;    3       Exist()
  1962. ;    2       S2I()
  1963. ;    18      GetX()
  1964. ;    18      GetY()
  1965. ;    1       GrafMode()
  1966. ;    1       FileInf()
  1967. ;    7       KInkey()
  1968. ;    2       MInkey()
  1969. ;    3       U_RecNum()
  1970. ;    7       ScrText()
  1971. ;    1       Mixed()
  1972. ;    2       ChatStat()
  1973. ;
  1974. ;------------------------------------------------------------------------------
  1975. ;
  1976. ; Analysis flags : WRAMadH
  1977. ;
  1978. ; W - Write user ■ 5
  1979. ;     Program writes a user record. Although this may be normal for a
  1980. ;     User Editor, it may also be a way to modify an account level.
  1981. ;     ■ Search for : PUTUSER
  1982. ;
  1983. ; R - Read user ■ 5
  1984. ;     User records are read, this may signify that someone wants to get
  1985. ;     various informations about a user (for example his password), but
  1986. ;     this may also be normal for a program accessing user records (for
  1987. ;     example a User Editor)
  1988. ;     ■ Search for : GETALTUSER
  1989. ;
  1990. ; A - Adjust online time remaining ■ 5
  1991. ;     Program modify the amount of online time remaining, this may
  1992. ;     be a way to bypass time limits
  1993. ;     ■ Search for : ADJTIME
  1994. ;
  1995. ; M - Send text to modem only ■ 4
  1996. ;     Some informations are sent only to the modem, not to the local
  1997. ;     screen, this is a well known way to make stealth backdoors, Check!
  1998. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  1999. ;
  2000. ; a - Adjust ratio ■ 4
  2001. ;     User's ratio is adjusted by changing the amount of files/bytes
  2002. ;     uploaded. This may be normal for a user editor.
  2003. ;     ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
  2004. ;
  2005. ; d - Access PCBOARD.DAT ■ 2
  2006. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  2007. ;     for many PPE so they can find various informations on the system
  2008. ;     (system paths, max number of lines in messages, ...) but it may also
  2009. ;     be a way to gather vital informations.
  2010. ;     ■ Search for : PCBDAT()
  2011. ;
  2012. ; H - Read Password or Password History ■ 5
  2013. ;     Program is reading the user's password or last password history
  2014. ;     This may be ok for a password manager, but it is very suspect. Check!
  2015. ;     ■ Search for : U_PWDHIST, U_PWD
  2016. ;
  2017. ;------------------------------------------------------------------------------
  2018. ;
  2019. ; Postprocessing report
  2020. ;
  2021. ;    28      For/Next
  2022. ;    2       While/EndWhile
  2023. ;    160     If/Then or If/Then/Else
  2024. ;    0       Select Case
  2025. ;
  2026. ;------------------------------------------------------------------------------
  2027. ;                 AEGiS Corp - Break the routines, code against the machines!
  2028. ;------------------------------------------------------------------------------
  2029.